CSCI 360 - 01 (8:30 - 9:45) spring 2018

Dr. Bowring

Syllabus

Class Wiki

Author's website

Schedule:

Date
Topic Readings due Individual HW DUE by start of class Resources Team Projects
T 09 Jan Introductions  

You will need a GitHub account for this course.

Join class Wiki and list your name in lastName alphabetical order hyperlinked to your GitHub account.

Git Workflows

Git-Github Exercise

 
R 11 Jan

OO Analysis and Design

Form Teams

Team Meetings

Chp 1, 2, 3

Install and explore ArgoUML.

Learn Git

Git videos (short):
What is VC,
What is Git,
Start Git,
Win with Git

Unit Testing Checklist

TP1: In Class: Team Intro

Email team details of Team name, names, emails, github accounts to bowringj@cofc.edu SUBJECT = "CSCI360GitHub".

I will create teams and team repositories and each of you will receive an invite.

TP2 Description: Analyze and Design Software to control a Dual-Alarm AM/FM Clock Radio

T 16 Jan

UP Inception

Evolutionary Requirements

Use Cases

Chp 4, 5
Architecture as Hallucination


Unmasking Ethical Risks

HW1: 2+-page response that compares and contrasts Booch with Gotterbarn/Miller:


Submit here.

Ancient Greek Computer

R 18 Jan Use Cases Chp 6

HW2: Identify and write in "casual format" at least 5 use cases for a simple answering machine.

Submit here.

Grady Booch Podcasts

Use Case

T 23 Jan

Team Reports

UP Elaboration I

Chp 7, 8

NOTE:

PDFs or other GitHub supported formats ONLY

SceneBuilder for JavaFX

TP2 Deliverable 1: Inception Documents: Vision, Use-Case enumeration with 2 use cases "fully dressed", supplemental specs, glossary

Submit in team repo.

R 25 Jan Domain Models Chp 9

HW3: Create a domain model (see 9.4 in text) for simple answering machine from HW2.

Submit here.

Note: Please use your team's repository wiki to present your team and progress as well as links to your deliverables - this will help you develop your final presentationand look professional if you want to make your repo public at the end of the semester.
T 30 Jan

Team Reports

System Sequence Diagrams

Chp 10

Agile Domain Modeling Example

Sequence Diagrams

TP2 Deliverable 2: Elaboration I Documents: all uses cases fully dressed and domain model.

Submit in team repo.

R 01 Feb Operation Contracts Chp 11

HW4: Create system sequence diagrams and operation contracts for simple answering machine.

Submit here.

Fun Facts
T 06 Feb

Team Reports

Logical Architecture

Chp 12, 13

 

TP2 Deliverable 3: Elaboration I Documents: System Sequence diagrams and operation contracts.

Submit in team repo.

R 08 Feb

Object Design

UML Interaction Diagrams

Chp 14, 15

 

FYI - Bucky Fuller

TP2 Deliverable: Revise D3 per lessons learned and comments;

Submit in team repo.

T 13 Feb UML Class Diagrams Chp 16

HW5: Patterns

Submit here.

What the Doormouse Said

Whole Earth Catalog and Stewart Brand

R 15 Feb GRASP Chp 17  

TP2 Deliverable 4: Explore your :System object (application layer) and identify objects needed to implement your operations; Suggest object responsibilities and collaborations with example sequence diagrams;

Submit in team repo.

T 20 Feb GRASP Chp 18

 

R 22 Feb

Team Reports

Review

TP2 Deliverable 5: Complete the realization of your defined contracts with detailed sequence diagrams derived from your analysis of object responsibilities and collaborations; Keep in mind GRASP, especially Information Expert, Creator, Controller, and Low Coupling;

Submit in team repo.

T 27 Feb TEST #1 (midterm grades due noon 6 March) pdf1 pdf2
R 01 Mar

Designing for Visibility

Mapping Designs to Code

Chp 19, 20

HW6: Simple answering machine: complete the realization of your defined contracts with detailed sequence diagrams derived from your analysis of object responsibilities and collaborations; Keep in mind GRASP, especially Information Expert, Creator, Controller, and Low Coupling;

Submit here.

 

T 06 Mar Test-Driven Development and Refactoring Chp 21

 

TP2 Deliverable Revise D5: Revise D5 per lessons learned and comments;

Submit in team repo.

R 08 Mar

Review Team Projects      

TP2 Deliverable 6: Produce Java classes to implement your design as specified in your sequence diagrams; use NetBeans to create project [teamnameAlarmClock] (no spaces) with Junit 4.0 tests; use test-driven development by first creating tests for each class and method; use package structure com.csci360.alarmclock;

Submit in team repo.

F 09 Mar Alumni Symposium Register here Extra Credit to Attend
T 13 Mar UML Activity Diagrams and Modeling Chp 28

HW7: Simple answering machine: Produce Java classes to implement your design as specified in your sequence diagrams; use NetBeans to create project [lastFirstAnserwingMachine] (no spaces) with Junit 4.0 tests; use test-driven development by first creating tests for each class and method; use package structure com.csci360.answeringMachine;

Submit here.

 
R 15 Mar State Machine Diagrams and Modeling On Visual Formalisms
Chp 29
 

TP2 Deliverable: Revise D6 per comments;


Submit in team repo.

T 20 Mar S P R I N G B R E A K 2018
R 22 Mar
T 27 Mar GRASP: More objects with Responsibilities Chp 25

HW8: Produce activity diagrams for:

1) modeling the process of buying groceries, starting with a shopping list;

2) the binary search algorithm;

Submit here.

 

R 29 Mar Liskov Substitution Principle
Law of Demeter
SOLID
Chp 25 (cont)  

TP2 Deliverable 7: Produce state machine models of the UI for the alarm clock based on your previously defined system operations;

Submit in team repo.

T 03 Apr Applying GoF Design Patterns Chp 26

HW9: Produce state machine models of the UI for the answering machine based on your previously defined system operations;

Submit here.

 
R 05 Apr Software Architecture Document (SAD) Chp 39

 

TP2 Deliverable: REVISE D7;

Submit in team repo.

TP2 Deliverable 8: Implement GUI within the package structure for the alarm clock based on your previously implemented system operations and state machine models;

Submit in team repo.

F 06 Apr SSM Poster Session Submission Deadline 11:59 PM Author Information  
T 10 Apr Team Project Reviews

HW10: Implement GUI within the package structure for the answering machine based on your previously implemented system operations and state machine models;

Submit here.

Evaluations:

 

R 12 Apr School of Sciences and Mathematics Research Poster Session 11:30am – 1:30 pm at SSM Building Suggested Attendance

 

Author Information

Consider Submitting a Poster !!

R 12 Apr Review  

 

Submit evaluation form in person in class

TP2 Deliverable 8 Revised: Improve upon D8;

Submit in team repo.

T 17 Apr

 

Presentations:

     

TP2 Deliverable: Presentation;

Submit in team repo.

R 19 Apr

Presentations:

       

W 25 Apr

#CS@CofC After Five Project Presentations 4:00 - 8:30 PM

S 28 Apr

Final

FINAL 8am - 11am

Final grades noon 7 May.